---
title: "SQL-VP-005: Retrieve policy address by type/contact type"
summary: Retrieves a policy address by address type and contact type via the Oracle view-policy package.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Business.View.Policy
reference_type: embedded
---

# SQL-VP-005 Retrieve policy address by type contact type

Retrieves a policy's address record filtered by address type and contact type, the primary
retrieval path for `clsPolicyAddress`.

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-VP-005 |
| **Operation type** | Read |
| **Execution method** | Stored procedure |
| **Database** | Oracle |
| **Schema** | `[unqualified]**` |
| **Command type** | StoredProcedure |
| **Business object** | `clsPolicyAddress` |
| **Criteria property** | `RetrieveSQL` |
| **Lifecycle method** | `BeforeRetrieve` / `AfterRetrieve` |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `inPolicyNum` | Input | Decimal | N/A | Policy number to look up the address for. |
| `inAddressType` | Input | String | N/A | Address-type code (e.g., mailing, physical). |
| `inContactType` | Input | String | N/A | Contact-type code. |
| `inGetMailAddrWhenNotFound` | Input | Boolean/flag | N/A | Whether to fall back to the mailing address when the requested type is not found. |
| `recordset` | Output (Cursor) | REF CURSOR | N/A | Result set containing the address record. |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| *(not directly visible — encapsulated in procedure body)* | SELECT | N/A |

## Sample SQL

```sql
BEGIN
  pk72846_view_policy.getPolicyAddress(
    inPolicyNum               => :inPolicyNum,
    inAddressType              => :inAddressType,
    inContactType              => :inContactType,
    inGetMailAddrWhenNotFound  => :inGetMailAddrWhenNotFound,
    recordset                 => :recordset
  );
END;
```

*Call signature reconstructed from `DataRequest.SQLStatement`/`AddParm`/`AddCursorParm` calls; the
procedure body resides in the Oracle database and was not retrieved this run.*

## Business rules
- [BR-VP-011: Demo-user address/contact data masking](../business-rules.md#br-vp-011-demo-user-address-contact-data-masking)

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- `SAIF.Business.View.Policy\clsPolicyAddress.vb`
